package Control;

import Modelo.Ataque;
import Modelo.AtaqueEspecial;
import Modelo.Defensa;
import Modelo.DefensaEspecial;
import Modelo.PersonajeDTO;
import javax.swing.ImageIcon;

public class ControlPersonajes {
    
    public static String mensaje = "";

    public static PersonajeDTO Virgo() {
        
        PersonajeDTO Virgo = new PersonajeDTO();
        Virgo.setNombre("Virgo");
        Virgo.setTipo("Bueno");
        Virgo.setImagen(new ImageIcon("Imagenes/Virgo.png"));
        Virgo.setNivelVida(1000);
        Virgo.setDescripcion("El caballero de Virgo es probablemente el más poderoso de todos. Debido a su práctica en la meditación y las enseñanzas budistas tiene una serenidad fuera de lo común. Siempre mantiene los ojos cerrados, incluso durante un combate, y se dice que cuando los abre, toda vida a su alrededor es extinguida .De Virgo se ha dicho que es el caballero con el poder más cercano al de un dios. Tiene poderes mentales fuera de lo común que le permiten moverse entre dimensiones. ");
        Virgo.setFuerzaEstrellas(5);
        Virgo.setResistenciaEstrellas(5);
        Virgo.setVelocidadEstrellas(4);
        Virgo.setInteligenciaEstrellas(5);

        Virgo.setFuerzaDescripcion("Es considerado uno de los caballeros más poderosos de su generación.");
        Virgo.setResistenciaDescripcion("Se envuelve con un poderoso campo de energía que lo protege de cualquier ataque básico.");
        Virgo.setVelocidadDescripcion("Gracias a su gran velocidad rompe las defensas de sus adversarios facilmente.");
        Virgo.setInteligenciaDescripcion("Combina perfectamente la ofensiva con la defensiva");

        Virgo.setProbabilidadAtaque(0.95);
        Virgo.setAtaque1(new Ataque("Cazador",
                0.40,
                200,
                "Concentra en sus manos una esfera de energía para después liberar una poderosísima descarga de cosmos",
                AtaqueEspecial.NINGUNO));

        Virgo.setAtaque2(new Ataque("Transmigración",
                0.30,
                300,
                "Tortura psicológica al enemigo. Lo envía a los 6 reinos.",
                AtaqueEspecial.NINGUNO));

        Virgo.setAtaque3(new Ataque("Anillo Danzante",
                0.30,
                450,
                "Abre los ojos. Técnica suprema",
                AtaqueEspecial.NINGUNO));

        Virgo.setDefensa1(new Defensa("Impacto Directo",
                0.30,
                0,
                "",
                DefensaEspecial.NINGUNA));

        Virgo.setDefensa2(new Defensa("Proyección de su cosmos",
                0.40,
                250,
                "Podía disipar y devolver los rayos de la Fuerza con sus manos",
                DefensaEspecial.NINGUNA));

        Virgo.setDefensa3(new Defensa("Kham",
                0.30,
                300,
                "Poderoso campo de energía que lo protege de cualquier ataque.",
                DefensaEspecial.NINGUNA));


        return Virgo;
    }

    public static PersonajeDTO Sagitario() {
        PersonajeDTO Sagitario = new PersonajeDTO();
        Sagitario.setNombre("Sagitario");
        Sagitario.setTipo("Bueno");
        Sagitario.setImagen(new ImageIcon("Imagenes/Sagitario.png"));
        Sagitario.setNivelVida(1000);
        Sagitario.setDescripcion("El Caballero de Sagitario, antíguo portador de dicha armadura y de la casa del Santuario del mismo nombre. A pesar de que otros estaban considerados como los más fieles a Atenea,");
        Sagitario.setFuerzaEstrellas(3);
        Sagitario.setResistenciaEstrellas(5);
        Sagitario.setVelocidadEstrellas(5);
        Sagitario.setInteligenciaEstrellas(3);

        Sagitario.setFuerzaDescripcion("Su arco y flecha es de las mas poderosas armas");
        Sagitario.setResistenciaDescripcion("Su armadura está considerada como la más poderosa.");
        Sagitario.setVelocidadDescripcion("Gran velocidad. ");
        Sagitario.setInteligenciaDescripcion("Se dice que fue el más leal y puro ");

        Sagitario.setProbabilidadAtaque(0.80);
        ///////////////////////ATAQUES////////////////////////////
        Sagitario.setAtaque1(new Ataque("Trueco atomico",
                0.45,
                150,
                "Una técnica en la cual lanza una inmensa descarga que destruye todo a su paso",
                AtaqueEspecial.NINGUNO));

        Sagitario.setAtaque2(new Ataque("Flecha de Sagitario",
                0.45,
                250,
                "Flecha de Sagitario.",
                AtaqueEspecial.NINGUNO));

        Sagitario.setAtaque3(new Ataque("Ruptura infinita",
                0.10,
                400,
                "Logra materializar millones de flechas que comienzan a arremolinarse y atraviesan el cuerpo del enemigo.",
                AtaqueEspecial.NINGUNO));

        ///////////////////////DEFENSAS//////////////////////////// 
        Sagitario.setDefensa1(new Defensa("Impacto Directo",
                0.40,
                50,
                "Fuerza de la armadura",
                DefensaEspecial.NINGUNA));

        Sagitario.setDefensa2(new Defensa("Evasion",
                0.40,
                250,
                "Su velocidad le permite evadir el ataque. ",
                DefensaEspecial.NINGUNA));

        Sagitario.setDefensa3(new Defensa("Control de armadura a distancia",
                0.20,
                150,
                "Podía usar su séptimo sentido para usar la armadura como protección, pero quedaba desprotegido de ataques de dispersión.",
                DefensaEspecial.NINGUNA));

        return Sagitario;
    }

    public static PersonajeDTO Aries() {
        PersonajeDTO Aries = new PersonajeDTO();
        Aries.setNombre("Aries");
        Aries.setTipo("Bueno");
        Aries.setImagen(new ImageIcon("Imagenes/Aries.png"));
        Aries.setNivelVida(1000);
        Aries.setDescripcion("El caballero de oro del signo de Aries. Probablemente junto con Virgo, sea el más noble de todos los caballeros de oro. Fue el primero de todos ellos que confió en la cruzada de los caballeros de bronce sin hacerles frente");
        Aries.setFuerzaEstrellas(2);
        Aries.setResistenciaEstrellas(3);
        Aries.setVelocidadEstrellas(5);
        Aries.setInteligenciaEstrellas(5);

        Aries.setFuerzaDescripcion("Usa más que todo técnicas mentales.");
        Aries.setResistenciaDescripcion("El único en el mundo capaz de reparar armaduras");
        Aries.setVelocidadDescripcion("Poder suficiente para transportarse el mismo o a varias personas a lugares muy lejanos");
        Aries.setInteligenciaDescripcion("Es telépata y telequinético.");

        Aries.setProbabilidadAtaque(0.80);
        ///////////////////////ATAQUES////////////////////////////
        Aries.setAtaque1(new Ataque("Red de estrellas ",
                0.40,
                50,
                "---ATAQUE ESPECIAL---\n Crea una red que evita que el contrario ataque. \n Importante: el  contrario pierde un turno. ",
                AtaqueEspecial.ADVERSARIO_PIERDE_TURNO));

        Aries.setAtaque2(new Ataque("Extinción de estrellas",
                0.40,
                150,
                "Un poderosísimo ataque que succiona todo como si fuera un agujero negro.",
                AtaqueEspecial.NINGUNO));

        Aries.setAtaque3(new Ataque("Revolución de estrellas",
                0.20,
                200,
                "Eleva su cosmos al máximo y dispara con sus manos una lluvia de proyecciones cósmicas",
                AtaqueEspecial.NINGUNO));

        ///////////////////////DEFENSAS//////////////////////////// 
        Aries.setDefensa1(new Defensa("Impacto Directo",
                0.30,
                50,
                "Crea una barrera impenetrable con el poder de su mente",
                DefensaEspecial.NINGUNA));

        Aries.setDefensa2(new Defensa("Muro de Cristal",
                0.40,
                200,
                "Podía disipar y devolver los rayos de la Fuerza con sus manos. ",
                DefensaEspecial.NINGUNA));

        Aries.setDefensa3(new Defensa("Teletrasportación ",
                0.30,
                500,
                "---DEFENSA ESPECIAL---\nRecupera 100 de vida",
                DefensaEspecial.RECUPERA_100_VIDA));

        return Aries;
    }

    public static PersonajeDTO Tauro() {
        PersonajeDTO Tauro = new PersonajeDTO();
        Tauro.setNombre("Tauro");
        Tauro.setImagen(new ImageIcon("Imagenes/Tauro.png"));
        Tauro.setTipo("Bueno");
        Tauro.setNivelVida(1000);
        Tauro.setDescripcion("El Caballero de Tauro, sin dejar de ser un poderoso Caballero de Oro, es probablemente uno de los más débiles entre todos ellos, y seguramente también uno de los más desafortunados. ");
        Tauro.setFuerzaEstrellas(2);
        Tauro.setResistenciaEstrellas(5);
        Tauro.setVelocidadEstrellas(1);
        Tauro.setInteligenciaEstrellas(1);

        Tauro.setFuerzaDescripcion("El combate físico es su especialidad.");
        Tauro.setResistenciaDescripcion("Es un tanque.");
        Tauro.setVelocidadDescripcion("Buena velocidad.");
        Tauro.setInteligenciaDescripcion("Su imponente fuerza física no le impide tener una gran precisión.");

        Tauro.setProbabilidadAtaque(0.50);
        ///////////////////////ATAQUES////////////////////////////
        Tauro.setAtaque1(new Ataque("Golpe normal",
                0.50,
                25,
                "Un simple golpe normal.",
                AtaqueEspecial.NINGUNO));

        Tauro.setAtaque2(new Ataque("Gran cuerno",
                0.40,
                90,
                "Un ataque puramente físico y destructivo.",
                AtaqueEspecial.NINGUNO));

        Tauro.setAtaque3(new Ataque("Gran cuerno con carga",
                0.10,
                200,
                "Poderosa onda de choque ",
                AtaqueEspecial.NINGUNO));

        ///////////////////////DEFENSAS//////////////////////////// 
        Tauro.setDefensa1(new Defensa("Impacto Directo",
                0.30,
                0,
                "Rompe su defensa",
                DefensaEspecial.NINGUNA));

        Tauro.setDefensa2(new Defensa("Técnica del sable",
                0.70,
                250,
                "Mantiene su defensa.",
                DefensaEspecial.NINGUNA));

        Tauro.setDefensa3(null);

        return Tauro;
    }

    public static PersonajeDTO CaballerosBronce() {
        PersonajeDTO CaballerosBronce = new PersonajeDTO();
        CaballerosBronce.setNombre("Caballeros de bronce");
        CaballerosBronce.setTipo("Bueno");
        CaballerosBronce.setImagen(new ImageIcon("Imagenes/CaballerosBronce.png"));
        CaballerosBronce.setNivelVida(1000);
        CaballerosBronce.setDescripcion("Todos los caballeros de bronce.");
        CaballerosBronce.setFuerzaEstrellas(2);
        CaballerosBronce.setResistenciaEstrellas(1);
        CaballerosBronce.setVelocidadEstrellas(2);
        CaballerosBronce.setInteligenciaEstrellas(4);

        CaballerosBronce.setFuerzaDescripcion("Su armadura no le das gran fuerza. Pueden llegar a 5 estrellas pero con el séptimo sentido.");
        CaballerosBronce.setResistenciaDescripcion("Su armadura no le das gran resistencia.");
        CaballerosBronce.setVelocidadDescripcion("Son rápidos.");
        CaballerosBronce.setInteligenciaDescripcion("Aqui la inteligencia se convierte en fuerza de voluntad para obtener el séptimo sentido.");

        CaballerosBronce.setProbabilidadAtaque(0.80);
        ///////////////////////ATAQUES////////////////////////////
        CaballerosBronce.setAtaque1(new Ataque("Golpe normal",
                0.25,
                10,
                "Un simple golpe normal.",
                AtaqueEspecial.NINGUNO));

        CaballerosBronce.setAtaque2(new Ataque("Tecnica Especials",
                0.50,
                150,
                "Meteoros",
                AtaqueEspecial.NINGUNO));

        CaballerosBronce.setAtaque3(new Ataque("Séptimo sentido",
                0.25,
                500,
                "Alcance el máximo sentido",
                AtaqueEspecial.NINGUNO));

        ///////////////////////DEFENSAS//////////////////////////// 
        CaballerosBronce.setDefensa1(new Defensa("Impacto Directo",
                0.50,
                0,
                "Rompen su defensa",
                DefensaEspecial.NINGUNA));

        CaballerosBronce.setDefensa2(new Defensa("Evasion",
                0.50,
                150,
                "Aguantan un poco.",
                DefensaEspecial.NINGUNA));

        CaballerosBronce.setDefensa3(null);

        return CaballerosBronce;
    }

    public static PersonajeDTO Hades() {
        PersonajeDTO Hades = new PersonajeDTO();
        Hades.setNombre("Hades");
        Hades.setTipo("Malo");
        Hades.setImagen(new ImageIcon("Imagenes/Hades.png"));
        Hades.setNivelVida(500);
        Hades.setDescripcion("El jefe final. Es uno de los principales antagonistas de la historia");
        Hades.setFuerzaEstrellas(5);
        Hades.setResistenciaEstrellas(5);
        Hades.setVelocidadEstrellas(5);
        Hades.setInteligenciaEstrellas(5);

        Hades.setFuerzaDescripcion("Dios del Inframundo.");
        Hades.setResistenciaDescripcion("Dios del Inframundo.");
        Hades.setVelocidadDescripcion("Dios del Inframundo.");
        Hades.setInteligenciaDescripcion("Dios del Inframundo.");

        Hades.setProbabilidadAtaque(0.80);
        ///////////////////////ATAQUES////////////////////////////
        Hades.setAtaque1(new Ataque("Golpe con sable",
                0.40,
                100,
                "Posee una espada muy poderosa.",
                AtaqueEspecial.NINGUNO));

        Hades.setAtaque2(new Ataque("Espectos.",
                0.40,
                150,
                "Ataque con espectos.",
                AtaqueEspecial.NINGUNO));

        Hades.setAtaque3(new Ataque("Gran Eclipse",
                0.20,
                1000,
                "Demasiado poderoso",
                AtaqueEspecial.NINGUNO));

        ///////////////////////DEFENSAS//////////////////////////// 
        Hades.setDefensa1(new Defensa("Impacto Directo",
                0.20,
                0,
                "Séptimo sentido aplicado y fuerza de voluntad del bien.",
                DefensaEspecial.NINGUNA));

        Hades.setDefensa2(new Defensa("Cortar la Fuerza",
                0.40,
                150,
                "Cortar la Fuerza.",
                DefensaEspecial.NINGUNA));

        Hades.setDefensa3(new Defensa("Poder de un Dios",
                0.40,
                350,
                "Poder de un Dios.",
                DefensaEspecial.NINGUNA));

        return Hades;
    }

    public static PersonajeDTO Geminis() {
        PersonajeDTO Geminis = new PersonajeDTO();
        Geminis.setNombre("Geminis");
        Geminis.setTipo("Malo");
        Geminis.setImagen(new ImageIcon("Imagenes/Geminis.png"));
        Geminis.setNivelVida(500);
        Geminis.setDescripcion("Fue el caballero de Géminis hasta su suicidio ante Atenea");
        Geminis.setFuerzaEstrellas(5);
        Geminis.setResistenciaEstrellas(5);
        Geminis.setVelocidadEstrellas(2);
        Geminis.setInteligenciaEstrellas(1);

        Geminis.setFuerzaDescripcion("El hecho de que Anakin naciera dotado con el mayor número de midiclorianos en la historia galáctica y que fuese considerado el Elegido, lleva a varias conclusiones sobre su poder potencial de la Fuerza.");
        Geminis.setResistenciaDescripcion("Resiste mucho en especial cuando usa la armadura a distancia.");
        Geminis.setVelocidadDescripcion("Es lento en especial cuando usa meditación para usar la armadura.");
        Geminis.setInteligenciaDescripcion("Tiene dificultades para manejar su doble personalidad.");

        Geminis.setProbabilidadAtaque(0.40);
        ///////////////////////ATAQUES////////////////////////////
        Geminis.setAtaque1(new Ataque("Explosión de Galaxias",
                0.40,
                250,
                "Esta técnica consiste en enviar una ola de energía directo al cuerpo del enemigo.",
                AtaqueEspecial.NINGUNO));

        Geminis.setAtaque2(new Ataque("Otra dimension .",
                0.40,
                100,
                "---ATAQUE ESPECIAL---\n Con este poder puede encerrar en otro universo a su oponente. (el oponente pierde un turno).",
                AtaqueEspecial.ADVERSARIO_PIERDE_TURNO));

        Geminis.setAtaque3(new Ataque("Imperial",
                0.20,
                500,
                "Control mental estilo fénix",
                AtaqueEspecial.NINGUNO));

        ///////////////////////DEFENSAS//////////////////////////// 
        Geminis.setDefensa1(new Defensa("Impacto Directo",
                0.40,
                0,
                "Impacto Directo.",
                DefensaEspecial.NINGUNA));

        Geminis.setDefensa2(new Defensa("Mantenerse a la espera",
                0.30,
                100,
                "Mantenerse a la espera.",
                DefensaEspecial.NINGUNA));

        Geminis.setDefensa3(new Defensa("Soberbia",
                0.30,
                100,
                "Soberbia.",
                DefensaEspecial.NINGUNA));

        return Geminis;
    }

    public static PersonajeDTO Radaman() {
        PersonajeDTO Radaman = new PersonajeDTO();
        Radaman.setNombre("Radaman");
        Radaman.setTipo("Malo");
        Radaman.setImagen(new ImageIcon("Imagenes/Radaman.png"));
        Radaman.setNivelVida(500);
        Radaman.setDescripcion("Radaman es uno de los tres Jueces y el primer juez en ser presentado, junto con Pandora. Como parte de la élite guerrera del ejército de Hades, le corresponde comandar y dirigir las acciones de una tropa de espectros a su cargo.");
        Radaman.setFuerzaEstrellas(5);
        Radaman.setResistenciaEstrellas(4);
        Radaman.setVelocidadEstrellas(3);
        Radaman.setInteligenciaEstrellas(3);

        Radaman.setFuerzaDescripcion("Demasiado podesoro.");
        Radaman.setResistenciaDescripcion("Una inigualable resistencia.");
        Radaman.setVelocidadDescripcion("No requiere correr para vencer.");
        Radaman.setInteligenciaDescripcion("Un poco soberbio eso le resta  inteligencia.");

        Radaman.setProbabilidadAtaque(0.80);
        ///////////////////////ATAQUES////////////////////////////
        Radaman.setAtaque1(new Ataque("Rugido deslizante",
                0.50,
                0,
                "---ATAQUE ESPECIAL---\nLibera del Poder De Kardia De Escorpio Aumentando Su Poder. Recupera +200 de vida",
                AtaqueEspecial.RECUPERA_200_VIDA));

        Radaman.setAtaque2(new Ataque("Ondas.",
                0.30,
                100,
                "Similar a la técnica de cancer",
                AtaqueEspecial.NINGUNO));

        Radaman.setAtaque3(new Ataque("Gran precaución",
                0.20,
                500,
                "Una técnica sumamente poderosa ya que no hubo casi nadie que resistiera ante su increíble poder. ",
                AtaqueEspecial.NINGUNO));

        ///////////////////////DEFENSAS//////////////////////////// 
        Radaman.setDefensa1(new Defensa("Rugido deslizante",
                0.40,
                100,
                "Rugido deslizante.",
                DefensaEspecial.NINGUNA));

        Radaman.setDefensa2(new Defensa("Evasion",
                0.30,
                200,
                "Evasion.",
                DefensaEspecial.NINGUNA));

        Radaman.setDefensa3(new Defensa("Juzgamiento",
                0.30,
                0,
                "---DEFENSA ESPECIAL---\nContraataque directo al rival sin defensa de -250 de vida.",
                DefensaEspecial.CONTRAATAQUE_250));

        return Radaman;
    }

    public static PersonajeDTO CaballerosPlata() {
        PersonajeDTO CaballerosPlata = new PersonajeDTO();
        CaballerosPlata.setNombre("Caballeros de plata");
        CaballerosPlata.setTipo("Malo");
        CaballerosPlata.setImagen(new ImageIcon("Imagenes/CaballerosPlata.png"));
        CaballerosPlata.setNivelVida(400);
        CaballerosPlata.setDescripcion("Caballeros de plata Misty y Moses. Su barra de vida de entre ambos es de 400. Es decir 200 para cada personaje. Uno de ellos cae primero que el otro (Moses). ");
        CaballerosPlata.setFuerzaEstrellas(2);
        CaballerosPlata.setResistenciaEstrellas(3);
        CaballerosPlata.setVelocidadEstrellas(1);
        CaballerosPlata.setInteligenciaEstrellas(1);

        CaballerosPlata.setFuerzaDescripcion("Atacan juntos pero su fuerza no es muy grande en comparacion con los caballeros de oro, pero superior a los de bronce. Buscaran retrasar al personaje.].");
        CaballerosPlata.setResistenciaDescripcion("Atacan juntos pero su fuerza no es muy grande en comparacion con los caballeros de oro, pero superior a los de bronce. Buscaran retrasar al personaje.]");
        CaballerosPlata.setVelocidadDescripcion("Atacan juntos pero su fuerza no es muy grande en comparacion con los caballeros de oro, pero superior a los de bronce. Buscaran retrasar al personaje.]");
        CaballerosPlata.setInteligenciaDescripcion("Atacan juntos pero su fuerza no es muy grande en comparacion con los caballeros de oro, pero superior a los de bronce. Buscaran retrasar al personaje.]");

        CaballerosPlata.setProbabilidadAtaque(0.50);
        ///////////////////////ATAQUES////////////////////////////
        CaballerosPlata.setAtaque1(new Ataque("Golpe normal",
                0.40,
                50,
                "Golpe normal.",
                AtaqueEspecial.NINGUNO));

        CaballerosPlata.setAtaque2(new Ataque("Golper especial individual.",
                0.40,
                100,
                "Golper especial individual",
                AtaqueEspecial.NINGUNO));

        CaballerosPlata.setAtaque3(new Ataque("Golpe combinado",
                0.20,
                200,
                "Golpe combinado.",
                AtaqueEspecial.NINGUNO));

        ///////////////////////DEFENSAS//////////////////////////// 
        CaballerosPlata.setDefensa1(new Defensa("Impacto directo",
                0.40,
                0,
                "Impacto directo.",
                DefensaEspecial.NINGUNA));

        CaballerosPlata.setDefensa2(new Defensa("Resistencia de plata",
                0.30,
                100,
                "Resistencia de plata.",
                DefensaEspecial.NINGUNA));

        CaballerosPlata.setDefensa3(new Defensa("Defensa de Misty",
                0.30,
                250,
                "El rival no los toca.",
                DefensaEspecial.NINGUNA));

        return CaballerosPlata;
    }

    public static PersonajeDTO Milicia() {
        PersonajeDTO Milicia = new PersonajeDTO();
        Milicia.setNombre("Milicia");
        Milicia.setTipo("Malo");
        Milicia.setImagen(new ImageIcon("Imagenes/Milicia.png"));
        Milicia.setNivelVida(aleatorio(100, 300));
        Milicia.setDescripcion("La milicia. Su fuerza la hace la cantidad.");
        Milicia.setFuerzaEstrellas(1);
        Milicia.setResistenciaEstrellas(1);
        Milicia.setVelocidadEstrellas(1);
        Milicia.setInteligenciaEstrellas(1);

        Milicia.setFuerzaDescripcion("Su fuerza depende la cantidad de personas que atacan.");
        Milicia.setResistenciaDescripcion("Su fuerza depende la cantidad de personas que atacan.");
        Milicia.setVelocidadDescripcion("Su fuerza depende la cantidad de personas que atacan.");
        Milicia.setInteligenciaDescripcion("Su fuerza depende la cantidad de personas que atacan.");

        Milicia.setProbabilidadAtaque(0.60);
        ///////////////////////ATAQUES////////////////////////////
        Milicia.setAtaque1(new Ataque("Golpe normal",
                0.45,
                0.5,
                "0.5 x cantidad de soldados",
                AtaqueEspecial.CANTIDAD_SOLDADOS_05));

        Milicia.setAtaque2(new Ataque("Golpe con fuego",
                0.45,
                1,
                "1 x cantidad de soldados",
                AtaqueEspecial.CANTIDAD_SOLDADOS_1));

        Milicia.setAtaque3(new Ataque("Soldados gigantes",
                0.10,
                2,
                "2 x cantidad de soldados   ",
                AtaqueEspecial.CANTIDAD_SOLDADOS_2));

        ///////////////////////DEFENSAS//////////////////////////// 
        Milicia.setDefensa1(new Defensa("Impacto directo",
                0.70,
                0,
                "Temor . Cada soldado tiene 1 punto de vida. .",
                DefensaEspecial.NINGUNA));

        Milicia.setDefensa2(new Defensa("Huir",
                0.30,
                100,
                "Huir. Cada soldado tiene 1 punto de vida.  Se salvan 100.",
                DefensaEspecial.NINGUNA));

        Milicia.setDefensa3(null);

        return Milicia;
    }

    public static int aleatorio(int min, int max) {
        return (int) (Math.random() * (max - min)) + min;
    }

    public static String textoAtaque(boolean ataca, int tiempo, PersonajeDTO personaje, Ataque ataque, int nivelVida) {
        StringBuilder sb = new StringBuilder();
        sb.append("************************* Info *************************").append("\n");
        sb.append("Tiempo: ").append(tiempo).append("\n");
        if (ataca) {
            sb.append("Vida Actual: ").append(nivelVida).append("\n");
            sb.append("Descripción: ").append(personaje.getNombre()).append(" ataca con ").append(ataque.getNombre()).append("\n");
            sb.append(ataque.getDescripcion()).append("\n");
            sb.append("Daño: ").append(ataque.getDaño()).append("\n");
            mensaje = personaje.getNombre()+ " ataca\n" + "Poder de ataque: "+ ataque.getDaño();
        }else{
            sb.append("Personaje: ").append(personaje.getNombre()).append(" No ataca").append("\n");
            mensaje = personaje.getNombre()+ " no ataca\n"+ "Pierde su turno";
        }
        sb.append("*********************************************************").append("\n");
        
        return sb.toString();
    }

    public static String textoDefensa(int tiempo, PersonajeDTO personaje, Defensa defensa, double dañoRecibido, int nivelVida) {
        StringBuilder sb = new StringBuilder();
        sb.append("************************* Info *************************").append("\n");
        sb.append("Tiempo: ").append(tiempo).append("\n");
        sb.append("Vida Actual: ").append(nivelVida).append("\n");
        sb.append("Descripción: ").append(personaje.getNombre()).append(" se defiende con ").append(defensa.getNombre()).append("\n");
        sb.append(defensa.getDescripcion()).append("\n");
        sb.append("Resistencia: ").append(defensa.getResistencia()).append("\n");
        sb.append("Daño recibido: ").append(dañoRecibido).append("\n");
        sb.append("*********************************************************").append("\n");
        mensaje = personaje.getNombre()+ " se defiende\n"+ "Daño recibido: " + dañoRecibido;
        return sb.toString();
    }

}
